package com.roads.supervisor.domain;

import com.roads.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 监理清单对象 sup_boq
 *
 * @author nhp
 * @date 2022-07-10
 */
public class SupBoq extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Integer id;

    /**
     * 机构编码
     */
    private String institutionCode;

    /**
     * 清单模板编码
     */
    private String templateCode;

    /**
     * 清单类型：1.施工期 2.冬休期 3.缺陷责任期
     */
    private String boqType;

    /**
     * 标段清单编码
     */
    private String institutionBoqCode;

    /**
     * 清单编码
     */
    private String boqCode;

    /**
     * 清单名称
     */
    private String boqName;

    /**
     * 上级编号
     */
    private String parentCode;

    /**
     * 祖籍列表
     */
    private String ancestors;

    /**
     * 显示排序
     */
    private Double orderNum;

    /**
     * 级别
     */
    private Integer level;

    /**
     * 是否叶子结点（0否 1是）
     */
    private String leafNode;

    /**
     * 单位
     */
    private String unit;

    /**
     * 折旧费
     */
    private BigDecimal depreciationTotal;

    /**
     * 人数
     */
    private BigDecimal personAmount;

    /**
     * 期数
     */
    private BigDecimal periodAmount;

    /**
     * 数量=人数*期数
     */
    private BigDecimal amount;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 金额
     */
    private BigDecimal total;

    /**
     * 剩余数量
     */
    private BigDecimal remainderAmount;

    /**
     * 已计量数量
     */
    private BigDecimal alreadyAmount;

    /**
     * 是否完成 N 未完成 Y 已完成
     */
    private String complete;


    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setInstitutionCode(String institutionCode) {
        this.institutionCode = institutionCode;
    }

    public String getInstitutionCode() {
        return institutionCode;
    }

    public void setTemplateCode(String templateCode) {
        this.templateCode = templateCode;
    }

    public String getTemplateCode() {
        return templateCode;
    }

    public void setBoqType(String boqType) {
        this.boqType = boqType;
    }

    public String getBoqType() {
        return boqType;
    }

    public void setInstitutionBoqCode(String institutionBoqCode) {
        this.institutionBoqCode = institutionBoqCode;
    }

    public String getInstitutionBoqCode() {
        return institutionBoqCode;
    }

    public void setBoqCode(String boqCode) {
        this.boqCode = boqCode;
    }

    public String getBoqCode() {
        return boqCode;
    }

    public void setBoqName(String boqName) {
        this.boqName = boqName;
    }

    public String getBoqName() {
        return boqName;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public String getParentCode() {
        return parentCode;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setOrderNum(Double orderNum) {
        this.orderNum = orderNum;
    }

    public Double getOrderNum() {
        return orderNum;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLeafNode(String leafNode) {
        this.leafNode = leafNode;
    }

    public String getLeafNode() {
        return leafNode;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setDepreciationTotal(BigDecimal depreciationTotal) {
        this.depreciationTotal = depreciationTotal;
    }

    public BigDecimal getDepreciationTotal() {
        return depreciationTotal;
    }

    public void setPersonAmount(BigDecimal personAmount) {
        this.personAmount = personAmount;
    }

    public BigDecimal getPersonAmount() {
        return personAmount;
    }

    public void setPeriodAmount(BigDecimal periodAmount) {
        this.periodAmount = periodAmount;
    }

    public BigDecimal getPeriodAmount() {
        return periodAmount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public BigDecimal getRemainderAmount() {
        return remainderAmount;
    }

    public void setRemainderAmount(BigDecimal remainderAmount) {
        this.remainderAmount = remainderAmount;
    }

    public BigDecimal getAlreadyAmount() {
        return alreadyAmount;
    }

    public void setAlreadyAmount(BigDecimal alreadyAmount) {
        this.alreadyAmount = alreadyAmount;
    }

    public String getComplete() {
        return complete;
    }

    public void setComplete(String complete) {
        this.complete = complete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("institutionCode", getInstitutionCode())
                .append("templateCode", getTemplateCode())
                .append("boqType", getBoqType())
                .append("institutionBoqCode", getInstitutionBoqCode())
                .append("boqCode", getBoqCode())
                .append("boqName", getBoqName())
                .append("parentCode", getParentCode())
                .append("ancestors", getAncestors())
                .append("orderNum", getOrderNum())
                .append("level", getLevel())
                .append("leafNode", getLeafNode())
                .append("unit", getUnit())
                .append("depreciationTotal", getDepreciationTotal())
                .append("personAmount", getPersonAmount())
                .append("periodAmount", getPeriodAmount())
                .append("amount", getAmount())
                .append("price", getPrice())
                .append("total", getTotal())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }

}
